Digital video streams typically represent video using a sequence of frames or still images. Each frame can include a number of blocks, which in turn may contain information describing the value of color, brightness or other attributes for pixels. The amount of data in a typical video stream is large, and transmission and storage of video can use significant computing or communications resources. Various approaches have been proposed to reduce the amount of data in video streams, including compression and other encoding techniques.
In some video compression methods, a video frame can be divided into portions referred to as tiles. A tile may be square or rectangular, and includes multiple blocks of pixels. By dividing a frame into tiles, the tiles can be encoded and/or decoded in parallel. Tiles also allow decoding of only part of the image, by decoding only certain tiles while not decoding other tiles. In current video encoder and decoder implementations, the number of tiles per frame is small, such as 4 to 8 tiles.
In video compression methods that implement tile coding, the portion of the video bitstream that corresponds to a particular tile includes a tile data header and the tile content data. The tile data header stores a tile data size (TDS) value that makes the decoder aware of where the tile content data for the tile starts and stops. For example, the TDS value can describe the number of bits used to encode the tile content data. The tile content data are the encoded data that corresponds to image within the tile. Thus, the TDS value allows the decoder to locate the tile content data and decode the tile content data in order to reconstruct the tile.